package com.caioweb.osa.validation;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import javax.inject.Inject;

import org.jboss.seam.faces.validation.InputField;

import com.caioweb.osa.dao.ClienteDAO;
import com.caioweb.osa.modelo.Cliente;
@FacesValidator(value = "validaCliente")
public class ValidaCliente implements Validator , Serializable{
	@Inject @InputField
	private String sigla;
	@Inject @InputField
	private String nome;
	@Inject
	private ClienteDAO dao;

	@Override
	public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
			throws ValidatorException {
		if(sigla == null || sigla.isEmpty()){
			throw new ValidatorException(new FacesMessage("Favor preencher a sigla do cliente.."));
		}else if(sigla.indexOf(" ") >= 0){
				throw new ValidatorException(new FacesMessage("A sigla não pode conter espaços em branco.."));
			
		}else if(nome == null || nome.isEmpty()){
			throw new ValidatorException(new FacesMessage("Nome do cliente é obrigatório.."));
		}
		
		Cliente cliente = dao.procuraPorSigla(sigla);
		if(cliente != null && cliente.getSigla().equals(sigla) ){
			throw new ValidatorException(new FacesMessage("Esse cliente ja foi cadastrado!"));
		}
	}
	
	
	

}
